package entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@SequenceGenerator(name = "seq_imovel_id", sequenceName = "seq_imovel_id")
@Table(name="IMOVEL")
public class Imovel {

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_imovel_id")
	@Column(name="ID")
	private int id;

	@Column(name="TIPO", nullable=false)
	private TipoImovel tipo;
	
	@ManyToOne
	private Pessoa pessoa;
	
	@OneToOne
	private Endereco endereco;
	
	@Column(name="GARAGEM", nullable=false)
	private boolean garagem;
	
	@Column(name="STATUS", nullable=false)
	private StatusImovel status;
	
	@Column(name="DESCRICAOIMOVEL", nullable=false)
	private String descricaoImovel;
	
	@Column(name="DESCRICAOPAGAMENTO", nullable=false)
	private String descricaoPagamento;
	
	@OneToOne
	private Foto foto;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public TipoImovel getTipo() {
		return tipo;
	}

	public void setTipo(TipoImovel tipo) {
		this.tipo = tipo;
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public boolean isGaragem() {
		return garagem;
	}

	public void setGaragem(boolean garagem) {
		this.garagem = garagem;
	}

	public StatusImovel getStatus() {
		return status;
	}

	public void setStatus(StatusImovel status) {
		this.status = status;
	}

	public String getDescricaoImovel() {
		return descricaoImovel;
	}

	public void setDescricaoImovel(String descricaoImovel) {
		this.descricaoImovel = descricaoImovel;
	}

	public String getDescricaoPagamento() {
		return descricaoPagamento;
	}

	public void setDescricaoPagamento(String descricaoPagamento) {
		this.descricaoPagamento = descricaoPagamento;
	}

	public Foto getFoto() {
		return foto;
	}

	public void setFoto(Foto foto) {
		this.foto = foto;
	}
}
